#include"RBTree.h"

template<class K>
class MySet
{
public:
	struct SetKOfT
	{
		const K& operator()(const K& key)
		{
			return key;
		}
	};

	typedef typename RBTree<K, K, SetKOfT>::iterator iterator;

	iterator begin()
	{
		return _tree.begin();
	}

	iterator end()
	{
		return _tree.end();
	}

	bool insert(const K& key)
	{
		return _tree.Insert(key);
	}
private:

	RBTree<K, K, SetKOfT> _tree;
};

//int main()
//{
//	MySet<int> s;
//	s.insert(6);
//	s.insert(3);
//	s.insert(4);
//	s.insert(1);
//	s.insert(6);
//	s.insert(2);
//
//	return 0;
//}